<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 默认参数 : 如果没有参数 会按照默认参数来赋值,如果有参数,按照参数来赋值
        // 解构赋值
        // let [a,b,c=5] = [1,2,3];
        // console.log(c);

        function fn([a,b=5]){
            console.log(a,b);
        }

        fn([1,2])

        //ES5 默认函数

        function fn(a,b){
            var a = a || 1;
            var b = b || 2;
            console.log(a,b);
        }

        fn("",0);

        // ES6 默认参数

        function fn(a,b){
            console.log(a,b);
        }

        fn(3,4);
        fn();
        fn("",0)


        // 短路运算符
        function fn(cb){

            if(cb){
                cb();
            }
            cb && cb();// 短路运算符
        }


        fn(function(){
            console.log(123);
        })


        // 如果最后一个参数是 函数 那么就执行这个函数,如果不是函数就不执行
        function myanimate(){
            let arg = arguments[arguments.length - 1];
            if(typeof arg === "function"){
                arg && arg();
            }
        }
    
        myannimate(1,3,function(){
            console.log(111);
        })



        






    </script>
</body>
</html>